// +----------------------
// |  主程序 @Shustudio
// |  舒晓贤工作室
// +----------------------
var HOST = $('body').attr('data-host');

$(function () {

    $('.select2').select2();

    /* 模态框拖动元素 */
    $(document).on("show.bs.modal", ".modal", function () {
        $(this).find('.modal-content').draggable({
            handle: ".modal-header",
            cursor: 'move',
        });
    });

    $('nav.navbar').on('click', '#userLogOut', function () {  // 安全退出
        $.ajax({
            type: 'get',
            url: HOST + '/login/out',
            dataType: "json",
            success: function (e) {
                if (e.state) {
                    toastr.success('可直接关闭页面或重新登录，谢谢', '退出成功');
                    setTimeout(function () {
                        window.location.href = HOST + '/login';
                    }, 1000);
                } else if (!e.state) {
                    toastr.warning('服务器开小差了，稍后再试', '退出失败');
                }
            }, error: function (XMLHttpRequest, textStatus, errorThrown) {
                console.log('server error:' + XMLHttpRequest.status); // 错误代码
                toastr.error('请联系程序猿修复:[' + XMLHttpRequest.status + ']', '噢天、服务器挂了');
            }
        });
    });

});


function guid() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}


function getResKey_date() {
    var data = new Date();
    return data.getFullYear() + '-' + data.getMonth() + 1 + '-' + data.getDate() + '_' + guid();
}


//填写小程序信息
$(document).ready(function () {
    _Modal({
        id: '#sub_checks',
        title: '填写小程序信息',
        body: '<form class="form-type-material"method="post"id="Regs"onsubmit="return false"><div class="form-group">' +
        '填写描述（必填）' +
        '</div><div class="form-group">' +
        '<input type="hidden" class="form-control"name="version"id="version" value="" required="required" disabled="disabled">' +
        '</div><div class="form-group">' +
        '<textarea class="form-control"name="describe"id="describe"placeholder="描述" value="1,333" required="required" ></textarea>' +
        '</div><div class="form-group">' +
        '导航页修改' +
        '</div><div class="form-group">' +
        '<table class="table table-hover" id="tabbar">' +
        '                    <thead>' +
        '                    <tr>' +
        '                        <th>底部bar名称</th>' +
        '                        <th>导航栏标题文字</th>' +
        '                        <th>操作</th>' +
        '                    </tr>' +
        '                    </thead>' +
        '                    <tbody id="tabbars">' +
        '</tbody>' +
        '                </table>' +
        '</div>' +
        '<div class="form-group">' +
        '主页面修改' +
        '</div><div class="form-group">' +
        '<table class="table table-hover" id="pages">' +
        '                    <thead>' +
        '                    <tr>' +
        '                        <th>导航栏标题文字</th>' +
        '                        <th>介绍</th>' +
        '                        <th>操作</th>' +
        '                    </tr>' +
        '                    </thead>' +
        '                    <tbody id="pagess">' +
        '</tbody>' +
        '                </table>' +
        '</div>' +
        '<button class="btn btn-bold btn-block btn-primary"id="UserReg"onclick="add_json()">下一步</button></form>',
        isClose: true,
        onShow: function () {
            $("#tabbars").html("<div class='loading' style='position: relative;left:220px;top: 24px;font-size:20px'><i class='fa fa-spinner fa-spin'></i>加载中...</div>");

            $('#tabbar').on('click', 'button.btn-default', function () {
                var tabbar_name = $(this).parent('td.save').parent('tr').find('td.tabbar_name').text();
                var navigationbartitletext = $(this).parent('td.save').parent('tr').find('td.navigationbartitletext').text();
                $(this).parent('td.save').parent('tr').find('td.tabbar_name').html('<input class="form-control" value="' + tabbar_name + '"/>');
                $(this).parent('td.save').parent('tr').find('td.navigationbartitletext').html('<input class="form-control" value="' + navigationbartitletext + '"/>');
                $(this).removeClass('btn-default').addClass('btn-warning').text('保 存');
            });
            $('#tabbar').on('click', 'button.btn-warning', function () {
                var tabbar_name = $(this).parent('td.save').parent('tr').find('td.tabbar_name').find('input').val();
                var navigationbartitletext = $(this).parent('td.save').parent('tr').find('td.navigationbartitletext').find('input').val();
                $(this).parent('td.save').parent('tr').find('td.tabbar_name').html(tabbar_name);
                $(this).parent('td.save').parent('tr').find('td.navigationbartitletext').html(navigationbartitletext);
                $(this).removeClass('btn-warning').addClass('btn-default').text('编 辑');
            });

            $('#pages').on('click', 'button.btn-default', function () {
                var navigationbartitletext = $(this).parent('td.save').parent('tr').find('td.navigationbartitletext').text();
                $(this).parent('td.save').parent('tr').find('td.navigationbartitletext').html('<input class="form-control" value="' + navigationbartitletext + '"/>');
                $(this).removeClass('btn-default').addClass('btn-warning').text('保 存');
            });
            $('#pages').on('click', 'button.btn-warning', function () {
                var navigationbartitletext = $(this).parent('td.save').parent('tr').find('td.navigationbartitletext').find('input').val();
                $(this).parent('td.save').parent('tr').find('td.navigationbartitletext').html(navigationbartitletext);
                $(this).removeClass('btn-warning').addClass('btn-default').text('编 辑');
            });

            $.ajax({
                type: "get",
                url: HOST + '/index/add_jsoninfo',
                dataType: 'json',
                success: function (data) {
                    $(".loading").remove();
                    $(".loading1").remove();
                    $("#version").attr('value', data.ver);
                    if(data.tabbar == ""){

                    }else{
                           $.each(data.tabbar, function (i, n) {
                        $("#tabbars").append('<tr data-id="' + n.id + '">' +
                            '<td class="tabbar_name">' + n.tabbar_name + '</td>' +
                            '<td class="navigationbartitletext">' + n.navigationbartitletext + '</td>' +
                            '<td class="save"><button class="btn btn-default" type="button">编 辑</button> </td>');
                      });
                    }
                    $.each(data.pages, function (i, n) {
                        $("#pagess").append('<tr data-id="' + n.id + '">' +
                            '<td class="navigationbartitletext">' + n.navigationbartitletext + '</td>' +
                            '<td class="recommend">' + n.recommend + '</td>' +
                            '<td class="save"><button class="btn btn-default" type="button">编 辑</button> </td>');
                    });
                  
                }
            });

        },
        onHide: function () {
            // 当隐藏时
            console.log('Modal 已隐藏')
        }
    });

    _Modal({
        id: '#errinfo',
        title: '审核失败可能出现的原因有以下几点',
        body: '<div style="font-size: 14px;"><p>1.帐号信息不合规范</p><p>2.类目不完善或者是类目选择不当</p><p>3.小程序简介没有介绍小程序功能</p><p>4.产品内不能包含赌博、竞猜和抽奖等内容</p><p>5.小程序服务类目所对应的页面中的核心内容必须与该类目一致</p></div>',
        isClose: true,
        onHide: function () {
            // 当隐藏时
            console.log('Modal 已隐藏')
        },
        onShow: function () {
        },
    });

});


function add_json() {
    var describe =$("#describe").val();
    var version =$("#version").val();
    if(!describe){
        toastr.warning('描述不能为空!');
        return false;
    }
    //tabbar pages
    var obj = {}, id;
    $("#tabbar tbody tr,#pages tbody tr").each(function () {
        id = $(this).data("id");
        obj[id.toString()] = {
            tabbar_name: $(this).find(".tabbar_name").text(),
            navigationbartitletext: $(this).find(".navigationbartitletext").text()
        }
    });
    var data = {
        data: encodeURIComponent(JSON.stringify(obj)),
        version: version,
        describe: describe
    }
    $("#UserReg").attr("disabled", true).html("<i class='fa fa-spinner fa-spin'></i> 提交中...");
    $.ajax({
        type: "post",
        url: HOST + '/index/add_json',
        data: {
            data: encodeURIComponent(JSON.stringify(obj)),
            version: version,
            describe: describe
        },
        dataType: 'json',
        success: function (data) {
            console.log(data);
            if (data.errcode == 0) {
                $("#UserReg").attr("disabled", false).html("提交");
                $("#Regs").fadeOut();
                $(".modal-body").html("<div class='loading1' style='position: relative;left:220px;top: 14px;font-size:18px'><i class='fa fa-spinner fa-spin'></i>加载中...</div>");
            }

            $.ajax({
                type: "get",
                url: HOST + '/index/subcheck',
                dataType: 'json',
                success: function (data) {
                    $(".loading1").remove();
                    $(".modal-body").append('<form class="form-type-material"method="post" id="form"onsubmit="return false" ><div class="form-group">' +
                        '功能页面' +
                        '</div><div class="form-item"><div class="form-group">' +
                        '<select name="address" class="form-control">' +
                        '</select>' +
                        '</div><div class="form-group">' +
                        '<input type="text"class="form-control"name="title"id="title" placeholder="标题" required="required">' +
                        '</div><div class="form-group">' +
                        '所在服务类目' +
                        '</div><div class="form-group">' +
                        '<select name="first_class" class="form-control" style="display:inline-block;width:40%;margin-right:20px;" >' +
                        '<option selected>请选择类目</option>' +
                        '</select>' +
                        '<input class="form-control second_class" style="display:inline-block;width:40%;margin-right:20px;" value="请选择类目" disabled>' +
                        // '<select name="second_class" class="form-control" style="display:inline-block;width:40%;margin-right:20px;" disabled>' +
                        // '</select>' +
                        '</div>' +
                        '<div class="form-group">' +
                        '<textarea class="form-control"name="tag"id="describe"placeholder="标签" required="required"></textarea>' +
                        '</div>' +
                        '</div>' +
                        '</div>' +
                        '<button class="btn btn-bold btn-block btn-primary" id="UserRegs" onclick="checkcodes()">下一步</button>' +
                        '<input type="hidden" name="id" id="id">' +
                        '</form>');
                    $.each(data.page_list, function (i, n) {
                        $("select[name='address']").append(
                            '<option>' + n + '</option>'
                        )

                    });

                    $.each(data.category_list, function (i, n) {
                        $("select[name='first_class']").append(
                            '<option>' + n.first_class + '</option>'
                        )
                    });

                    $("#id").attr('value', data.id);

                    $("select[name='first_class']").on('change', function () {
                        var index = $(this).get(0).selectedIndex;
                        $(this).parent('div').find('.second_class').val(index ? data.category_list[index - 1].second_class : '请选择类目');
                    });
                }


            });

        }
    });
}



function checkcodes() {
    var data = [];
    $("#form .form-item").each(function () {
        var address = $(this).find("select[name='address']").val();
        var title = $(this).find('input[name=title]').val();
        var first_class = $(this).find("select[name='first_class']").val();
        var second_class = $(this).find('.second_class').val();
        var tag = $(this).find("textarea[name='tag']").val();
        data.push({address: address, tag: tag, first_class: first_class, second_class: second_class, title: title});
    });
    var admin_temp_id = $("#id").val();
    //data = {data:encodeURIComponent(JSON.stringify(data)),id:admin_temp_id};

    var isemty = $("#isselects").val();
    if (isemty == "请选择类目") {
        toastr.warning('请选择所在服务类目!');
        return false;
    }
    $("#UserRegs").attr("disabled", true).html("<i class='fa fa-spinner fa-spin'></i> 提交中...");
    $.ajax({
        type: "post",
        url: HOST + '/index/submit_code',
        data: {data: JSON.stringify(data), id: admin_temp_id},
        dataType: 'json',
        success: function (data) {
            console.log(data);
            if(data.errcode == 0){
                window.location.reload();
                toastr.success('提交审核成功!');
            }if(data.errcode == 61007){
                toastr.warning('该小程序绑定了多个平台 去小程序后台取消授权 然后在官网重新绑定即可');
            }
            else{
                window.location.reload();
                toastr.warning('已有版本正在审核!');
            }
        }


    });
}


function sub_publish() {
    $("#sub_shenhe").html("<i class='fa fa-spinner fa-spin'></i> 发布中...");
    
    $.ajax({
        type: "post",
        url: HOST + '/index/sub_publish',
        dataType: 'json',
        success: function (data) {
           if(data.statu == 0 || data.statu == 1){
               toastr.success('提交发布成功!');
               window.location.reload();
           }else{
               toastr.error('提交发布失败!');
           }
        }


    });
}




